   1 .
   2 .STARFIGHTER
   3 .BY JAMES WINN
   4 goto 30
   5 &(16)=0;&(19)=0;&(20)=0;&(21)=0;&(23)=0;return 
  30 clear ;NT=0;BC=23;FC=0;A=12;B=100;C=1001;D=0;E=0;F=0
  40 CY=39;print "FUEL         SHIELDS 100%
  50 CY=-39;print "TEMP
  60 X=162;Y=69;for Z=1to 5;X=X-2;Y=Y-2;box 0,0,X,Y,3;next Z
  70 for Z=-10to 10;box Z,0,11,1,3;box 0,Z,1,11,3;next Z;box 0,0,15,15,1;goto 390
  80 X=rnd (100)-50;Y=rnd (40)-20;G=rnd (4);if G#1goto 130
  90 box X,Y,8,2,3;box X,Y-1,6,1,3;box X,Y,2,3,3;H=JX(1)mul 8;I=JY(1)mul 8;&(16)=200;&(19)=3;&(20)=255;&(21)=1
 100 if TR(1)goto 330
 110 if X<10if X>-10if Y<10if Y>-10H=JX(1)mul 2;I=JY(1)mul 2
 130 if F>82if E=0E=1;CX=-6;CY=-39;print "TEMP CRITICAL
 140 if F<83if E=1goto 390
 150 C=C-1;F=F-1;if F<0F=0
 160 if C<0C=0
 170 CY=-39;CX=-44;print #1,F;CX=-40;CY=39;print #1,C
 175 if A=0goto 470
 180 if C=0CY=39;print "NO FUEL";goto 440
 190 if F>100gosub 5;CX=-6;CY=-39;print "OVERHEATED!!!";goto 450
 200 if G#1for Z=1to 200;next Z;goto 80
 210 if rnd (6)=1goto 240
 220 if TR(1)goto 330
 230 box X,Y,8,2,3;box X,Y-1,6,1,3;box X,Y,2,3,3;X=X+rnd (3)-2-H;Y=Y+rnd (3)-2+I
 235 if (X>65)+(X<-65)+(Y>23)+(Y<-23)gosub 5;G=0;goto 200
 237 goto 90
 240 &(21)=255;K=X;L=Y;M=Xdiv 8;N=Ydiv 8;for Z=1to 8;box K,L,Z,Z,3;box K,L,Z,Z,3;&(23)=Zmul 10;K=K-M;L=L-N;next Z;O=rnd (3)
 250 if O#1for Z=9to 33step 4;box K,L,Z,Z,3;box K,L,Z,Z,3;K=K-M;L=L-N;next Z;goto 280
 260 &(16)=0
 270 for Z=6to 61step 11;box 0,0,Z+60,Z,3;box 0,0,Z+60,Z,3;next Z;for Z=1to 35;FC=84;FC=0;next Z
 280 gosub 5;if O#1goto 220
 290 if B=0box 28,39,70,9,3;goto 460
 295 if rnd (4)=1B=B-10
 300 F=F+11;B=B-10;if B<0B=0
 310 CX=50;CY=39;print #1,B,"%";if F>100goto 160
 320 goto 230
 330 gosub 5;C=C-50;F=F+11;&(19)=1;&(20)=7;&(21)=15
 340 P=0;Q=-24;R=24;S=16;for Z=1to 8;Q=Q+3;box P,Q,R,S,3;box P,Q,R,S,3;R=R-3;S=S-2;next Z
 360 gosub 5;if PX(P,Q)=0A=A-1;D=D+100;goto 380
 370 goto 310
 380 P=1;Q=-1;&(21)=255;&(23)=255;for Z=1to 6;P=P+2;Q=Q+2;box 0,0,P,P,2;box 0,0,Q,Q, 1;next Z;box 0,0,15,15,1;gosub 5;E=0
 390 CX=-6;CY=-39;print #1,A," ALIEN",;if A#1print "S",
 400 print " LEFT";if F>100goto 160
 410 if A=0goto 160
 420 if E=1E=0;goto 150
 430 goto 80
 440 for Z=30to 122;BC=7;box -58,39,45,9,3;&(19)=Zmul 2;&(21)=15;next Z;gosub 5;goto 470
 450 BC=83;for Z=1to 131;box 0,-39,160,9,3;&(16)=5;&(19)=210-Z;&(21)=15;next Z;gosub 5
 460 for Z=1to 35;BC=0;&(21)=255;&(23)=255;BC=83;next Z;gosub 5
 470 if A#0C=0
 475 D=D+C+B-F;if D<0D=0
 480 box 0,-24,140,9,2;CX=-45;CY=-24;print "YOUR SCORE",#5,D
 490 if TR(1)run 
 500 goto 490
:return ;run 
>